<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>ArNetworking: ArServerInfoTrailDrawing Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ArNetworking
   &#160;<span id="projectnumber">dev20180125</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArServerInfoTrailDrawing.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classArServerInfoTrailDrawing-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArServerInfoTrailDrawing Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Stores a history of <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a> objects, and provides them as drawings to a client (such as MobileEyes) via <a class="el" href="classArServerInfoDrawings.html" title="Service to provide clients with information about graphical figures to be displayed with the map...">ArServerInfoDrawings</a>.  
 <a href="classArServerInfoTrailDrawing.html#details">More...</a></p>

<p><code>#include &lt;ArServerInfoTrailDrawing.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a18db98a4b27ba080d6758452bd903dc3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#a18db98a4b27ba080d6758452bd903dc3">ArServerInfoTrailDrawing</a> (const char *name, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor.html">ArRetFunctor</a>&lt; <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a> &gt; *func, size_t max, const <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArDrawingData.html">ArDrawingData</a> &amp;dd, <a class="el" href="classArServerInfoDrawings.html">ArServerInfoDrawings</a> &amp;drawingServer, unsigned int interval=1, float minDist=0)</td></tr>
<tr class="separator:a18db98a4b27ba080d6758452bd903dc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acebab0ce834c842ee3966e4e666dba99"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#acebab0ce834c842ee3966e4e666dba99">getPullFunc</a> ()</td></tr>
<tr class="separator:acebab0ce834c842ee3966e4e666dba99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56d45f59830189a17c492800145605a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#a56d45f59830189a17c492800145605a5">pull</a> ()</td></tr>
<tr class="memdesc:a56d45f59830189a17c492800145605a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add this method as a callback to an object (e.g.  <a href="#a56d45f59830189a17c492800145605a5">More...</a><br /></td></tr>
<tr class="separator:a56d45f59830189a17c492800145605a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0239a03d624fb98f9f24e57d9a48c44"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#ab0239a03d624fb98f9f24e57d9a48c44">setMaxNumPoints</a> (unsigned int n)</td></tr>
<tr class="separator:ab0239a03d624fb98f9f24e57d9a48c44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a578513a6a60097d26f587ac9fe4242ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#a578513a6a60097d26f587ac9fe4242ce">setMinDist</a> (float d)</td></tr>
<tr class="separator:a578513a6a60097d26f587ac9fe4242ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f375761d5770dd75b804f828578a79a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#a6f375761d5770dd75b804f828578a79a">setPullInterval</a> (unsigned int i)</td></tr>
<tr class="separator:a6f375761d5770dd75b804f828578a79a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a488c134b9e82ac1756effb9424fa9321"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#a488c134b9e82ac1756effb9424fa9321">draw</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *pkt)</td></tr>
<tr class="separator:a488c134b9e82ac1756effb9424fa9321"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a88f67fd5cf1223bc87f54d3e7b84b510"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#a88f67fd5cf1223bc87f54d3e7b84b510">myCounter</a></td></tr>
<tr class="separator:a88f67fd5cf1223bc87f54d3e7b84b510"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a758e65086a50aac776a3a98681c7eca4"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerInfoTrailDrawing.html">ArServerInfoTrailDrawing</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#a758e65086a50aac776a3a98681c7eca4">myDrawFunc</a></td></tr>
<tr class="separator:a758e65086a50aac776a3a98681c7eca4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf4674cc7a92d8accd287a595ffa8e3d"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArDrawingData.html">ArDrawingData</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#adf4674cc7a92d8accd287a595ffa8e3d">myDrawingData</a></td></tr>
<tr class="separator:adf4674cc7a92d8accd287a595ffa8e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47cfd2d05210282d2d4dc450633f9a9d"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor.html">ArRetFunctor</a>&lt; <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a> &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#a47cfd2d05210282d2d4dc450633f9a9d">myFunc</a></td></tr>
<tr class="separator:a47cfd2d05210282d2d4dc450633f9a9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad192fc0af511f7d4aec467e8a2ca33e2"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#ad192fc0af511f7d4aec467e8a2ca33e2">myInterval</a></td></tr>
<tr class="separator:ad192fc0af511f7d4aec467e8a2ca33e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae10f6bf25fd6e2da70fb9e24d2058a3"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#aae10f6bf25fd6e2da70fb9e24d2058a3">myMinDist</a></td></tr>
<tr class="separator:aae10f6bf25fd6e2da70fb9e24d2058a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3ea2f10b3692b8688c181fe916ba709"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#ac3ea2f10b3692b8688c181fe916ba709">myName</a></td></tr>
<tr class="separator:ac3ea2f10b3692b8688c181fe916ba709"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67f3733cc18ca591fe4981b145bd5e4d"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#a67f3733cc18ca591fe4981b145bd5e4d">myNumPoints</a></td></tr>
<tr class="separator:a67f3733cc18ca591fe4981b145bd5e4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7575584a1b16892243fdf487ca815355"><td class="memItemLeft" align="right" valign="top">std::deque&lt; <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#a7575584a1b16892243fdf487ca815355">myPoints</a></td></tr>
<tr class="separator:a7575584a1b16892243fdf487ca815355"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7dcb9c45d741220c0475d40494c4535"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctorC.html">ArFunctorC</a>&lt; <a class="el" href="classArServerInfoTrailDrawing.html">ArServerInfoTrailDrawing</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoTrailDrawing.html#ab7dcb9c45d741220c0475d40494c4535">myPullFunc</a></td></tr>
<tr class="separator:ab7dcb9c45d741220c0475d40494c4535"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Stores a history of <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a> objects, and provides them as drawings to a client (such as MobileEyes) via <a class="el" href="classArServerInfoDrawings.html" title="Service to provide clients with information about graphical figures to be displayed with the map...">ArServerInfoDrawings</a>. </p>
<p>Positions are obtained via the supplied functor, so any object providing positions as <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a> objects may be used as the source of the trail. This functor is called when triggered by calling <a class="el" href="classArServerInfoTrailDrawing.html#a56d45f59830189a17c492800145605a5" title="Add this method as a callback to an object (e.g. ">pull()</a>.</p>
<p>Example usage: </p><div class="fragment"><div class="line"> <a class="code" href="classArServerInfoTrailDrawing.html">ArServerInfoTrailDrawing</a> trailDrawing(</div><div class="line">  <span class="stringliteral">&quot;MyRobotTrail&quot;</span>, </div><div class="line">  <span class="keyword">new</span> <a class="codeRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctorC.html">ArRetFunctorC&lt;ArPose, ArRobot&gt;</a>(&amp;robot, <a class="codeRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga25c215578baa598a8916947bdf6e1285">ArRobot::getPose</a>),</div><div class="line">  200,</div><div class="line">  <a class="codeRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArDrawingData.html">ArDrawingData</a>(),</div><div class="line">  drawingServer</div><div class="line">);</div><div class="line">robot.addSensorInterpTask(<span class="stringliteral">&quot;MyRobotTrailDrawing&quot;</span>, 20, trailDrawing.getPullFunc());</div></div><!-- fragment --><p> Note: <code>trailDrawing</code> must remain in scope. If <code>trailDrawing</code> is destroyed (e.g. because a block where it was created returns), the drawing will be removed. You can use <code>new</code> to allocate a new object which will persist outside the local stack until explicitly deleted, or create and store the trail drawing object as a member of another object which is not destroyed.</p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="serverDemo_8cpp-example.html#_a58">serverDemo.cpp</a>.</dd>
</dl></div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a18db98a4b27ba080d6758452bd903dc3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ArServerInfoTrailDrawing::ArServerInfoTrailDrawing </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor.html">ArRetFunctor</a>&lt; <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a> &gt; *&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>max</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArDrawingData.html">ArDrawingData</a> &amp;&#160;</td>
          <td class="paramname"><em>dd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArServerInfoDrawings.html">ArServerInfoDrawings</a> &amp;&#160;</td>
          <td class="paramname"><em>drawingServer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>interval</em> = <code>1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>minDist</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>Name to use for this drawing (displayed in MobileEyes Map menu, legend, log messages, etc.) </td></tr>
    <tr><td class="paramname">func</td><td>Functor to invoke to poll for a position. </td></tr>
    <tr><td class="paramname">max</td><td>Maximum number of past points to include in the trail </td></tr>
    <tr><td class="paramname">dd</td><td><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArDrawingData.html">ArDrawingData</a>. Typically, use "polyDots" type. Specify color, size, layer etc. </td></tr>
    <tr><td class="paramname">drawingServer</td><td><a class="el" href="classArServerInfoDrawings.html" title="Service to provide clients with information about graphical figures to be displayed with the map...">ArServerInfoDrawings</a> object </td></tr>
    <tr><td class="paramname">interval</td><td>Poll interval. When <a class="el" href="classArServerInfoTrailDrawing.html#a56d45f59830189a17c492800145605a5" title="Add this method as a callback to an object (e.g. ">ArServerInfoTrailDrawing::pull()</a> is called, a counter is updated, and new points are obtained only at the given interval. A value of 1 causes a new point to be saved every time <a class="el" href="classArServerInfoTrailDrawing.html#a56d45f59830189a17c492800145605a5" title="Add this method as a callback to an object (e.g. ">pull()</a> is called. </td></tr>
    <tr><td class="paramname">minDist</td><td>If a new point obtained is closer than this distance to the previous point, it is not saved in the trail. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArServerInfoDrawings.html#a593c3d93e722ab316ab6404c7f734011">ArServerInfoDrawings::addDrawing()</a>, <a class="el" href="classArServerInfoTrailDrawing.html#a758e65086a50aac776a3a98681c7eca4">myDrawFunc</a>, and <a class="el" href="classArServerInfoTrailDrawing.html#adf4674cc7a92d8accd287a595ffa8e3d">myDrawingData</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a488c134b9e82ac1756effb9424fa9321"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerInfoTrailDrawing::draw </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>pkt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a6ab2c8b1224dc27fc96f22ff8f027e28">ArBasePacket::byte4ToBuf()</a>, <a class="el" href="classArServerInfoTrailDrawing.html#a7575584a1b16892243fdf487ca815355">myPoints</a>, and <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">ArServerClient::sendPacketUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="acebab0ce834c842ee3966e4e666dba99"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a>* ArServerInfoTrailDrawing::getPullFunc </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="serverDemo_8cpp-example.html#a63">serverDemo.cpp</a>.</dd>
</dl>
<p>References <a class="el" href="classArServerInfoTrailDrawing.html#ab7dcb9c45d741220c0475d40494c4535">myPullFunc</a>.</p>

<p>Referenced by <a class="el" href="serverDemo_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a56d45f59830189a17c492800145605a5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerInfoTrailDrawing::pull </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add this method as a callback to an object (e.g. </p>
<p><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a> task), or call it when you want a new position added to the trail. You can get a functor to use as a callback with <a class="el" href="classArServerInfoTrailDrawing.html#acebab0ce834c842ee3966e4e666dba99">getPullFunc()</a>. Example: </p><div class="fragment"><div class="line">robot.addSensorInterpTask(<span class="stringliteral">&quot;Trail&quot;</span>, 20, trailDrawings.getPullFunc());</div></div><!-- fragment --><p>In Python, you can reference the function directly: </p><div class="fragment"><div class="line">robot.addSensorInterpTask(<span class="stringliteral">&#39;Trail&#39;</span>, 20, trailDrawings.pull)</div></div><!-- fragment --> 
<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html#a5ea548bafd383910dec1b9cdee41cad3">ArPose::findDistanceTo()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor.html#a941fc1c54f2d841f11c9dd899e15e88d">ArRetFunctor&lt; ArPose &gt;::invokeR()</a>, <a class="el" href="classArServerInfoTrailDrawing.html#a88f67fd5cf1223bc87f54d3e7b84b510">myCounter</a>, <a class="el" href="classArServerInfoTrailDrawing.html#a47cfd2d05210282d2d4dc450633f9a9d">myFunc</a>, <a class="el" href="classArServerInfoTrailDrawing.html#ad192fc0af511f7d4aec467e8a2ca33e2">myInterval</a>, <a class="el" href="classArServerInfoTrailDrawing.html#aae10f6bf25fd6e2da70fb9e24d2058a3">myMinDist</a>, <a class="el" href="classArServerInfoTrailDrawing.html#a67f3733cc18ca591fe4981b145bd5e4d">myNumPoints</a>, and <a class="el" href="classArServerInfoTrailDrawing.html#a7575584a1b16892243fdf487ca815355">myPoints</a>.</p>

</div>
</div>
<a class="anchor" id="ab0239a03d624fb98f9f24e57d9a48c44"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerInfoTrailDrawing::setMaxNumPoints </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerInfoTrailDrawing.html#a67f3733cc18ca591fe4981b145bd5e4d">myNumPoints</a>.</p>

</div>
</div>
<a class="anchor" id="a578513a6a60097d26f587ac9fe4242ce"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerInfoTrailDrawing::setMinDist </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>d</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerInfoTrailDrawing.html#aae10f6bf25fd6e2da70fb9e24d2058a3">myMinDist</a>.</p>

</div>
</div>
<a class="anchor" id="a6f375761d5770dd75b804f828578a79a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerInfoTrailDrawing::setPullInterval </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerInfoTrailDrawing.html#ad192fc0af511f7d4aec467e8a2ca33e2">myInterval</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a88f67fd5cf1223bc87f54d3e7b84b510"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int ArServerInfoTrailDrawing::myCounter</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoTrailDrawing.html#a56d45f59830189a17c492800145605a5">pull()</a>.</p>

</div>
</div>
<a class="anchor" id="a758e65086a50aac776a3a98681c7eca4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerInfoTrailDrawing.html">ArServerInfoTrailDrawing</a>, <a class="el" href="classArServerClient.html">ArServerClient</a>*, <a class="el" href="classArNetPacket.html">ArNetPacket</a>*&gt; ArServerInfoTrailDrawing::myDrawFunc</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoTrailDrawing.html#a18db98a4b27ba080d6758452bd903dc3">ArServerInfoTrailDrawing()</a>.</p>

</div>
</div>
<a class="anchor" id="adf4674cc7a92d8accd287a595ffa8e3d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArDrawingData.html">ArDrawingData</a> ArServerInfoTrailDrawing::myDrawingData</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoTrailDrawing.html#a18db98a4b27ba080d6758452bd903dc3">ArServerInfoTrailDrawing()</a>.</p>

</div>
</div>
<a class="anchor" id="a47cfd2d05210282d2d4dc450633f9a9d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor.html">ArRetFunctor</a>&lt;<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a>&gt;* ArServerInfoTrailDrawing::myFunc</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoTrailDrawing.html#a56d45f59830189a17c492800145605a5">pull()</a>.</p>

</div>
</div>
<a class="anchor" id="ad192fc0af511f7d4aec467e8a2ca33e2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int ArServerInfoTrailDrawing::myInterval</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoTrailDrawing.html#a56d45f59830189a17c492800145605a5">pull()</a>, and <a class="el" href="classArServerInfoTrailDrawing.html#a6f375761d5770dd75b804f828578a79a">setPullInterval()</a>.</p>

</div>
</div>
<a class="anchor" id="aae10f6bf25fd6e2da70fb9e24d2058a3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ArServerInfoTrailDrawing::myMinDist</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoTrailDrawing.html#a56d45f59830189a17c492800145605a5">pull()</a>, and <a class="el" href="classArServerInfoTrailDrawing.html#a578513a6a60097d26f587ac9fe4242ce">setMinDist()</a>.</p>

</div>
</div>
<a class="anchor" id="ac3ea2f10b3692b8688c181fe916ba709"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerInfoTrailDrawing::myName</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a67f3733cc18ca591fe4981b145bd5e4d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t ArServerInfoTrailDrawing::myNumPoints</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoTrailDrawing.html#a56d45f59830189a17c492800145605a5">pull()</a>, and <a class="el" href="classArServerInfoTrailDrawing.html#ab0239a03d624fb98f9f24e57d9a48c44">setMaxNumPoints()</a>.</p>

</div>
</div>
<a class="anchor" id="a7575584a1b16892243fdf487ca815355"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::deque&lt;<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a>&gt; ArServerInfoTrailDrawing::myPoints</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoTrailDrawing.html#a488c134b9e82ac1756effb9424fa9321">draw()</a>, and <a class="el" href="classArServerInfoTrailDrawing.html#a56d45f59830189a17c492800145605a5">pull()</a>.</p>

</div>
</div>
<a class="anchor" id="ab7dcb9c45d741220c0475d40494c4535"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctorC.html">ArFunctorC</a>&lt;<a class="el" href="classArServerInfoTrailDrawing.html">ArServerInfoTrailDrawing</a>&gt; ArServerInfoTrailDrawing::myPullFunc</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoTrailDrawing.html#acebab0ce834c842ee3966e4e666dba99">getPullFunc()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="ArServerInfoTrailDrawing_8h.html">ArServerInfoTrailDrawing.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArServerInfoTrailDrawing.html">ArServerInfoTrailDrawing</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
